import axios from 'axios'

// 全局默认配置
// axios.defaults.baseURL = 'https://api.example.com';
// axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

// 配置请求、响应拦截器
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  // 模拟判断是否携带token的场景
  let hasToken = true;
  if (hasToken) {
    config.headers.common['Authorization'] = 'myToken';
  }
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  return response;
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
});

// 暴露实例
export default axios;

// 暴露公共get请求方法
export function myGet(url, params) {
  return new Promise((resolve, reject) => {
    axios.get(url, {params}).then(res => {
      resolve(res.data);
    }).catch(err => {
      reject(err);
    });
  });
}
